package activities;

import java.io.IOException;
import java.net.SocketTimeoutException;
import java.util.ArrayList;

import com.androidmodule.onthego.R;

import entidades.CentroComercial;
import entidades.ComercioAdherido;
import extras.Utilities;
import extras.leerPreferencias;
import persistencia.BaseDatos;
import webService.AccesoWebService;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.content.SharedPreferences.OnSharedPreferenceChangeListener;
import android.os.AsyncTask;
import android.os.Bundle;
import android.preference.ListPreference;
import android.preference.MultiSelectListPreference;
import android.preference.PreferenceActivity;
import android.preference.PreferenceCategory;
import android.preference.PreferenceScreen;
import android.preference.RingtonePreference;

public class ActivityPreferenciasGenerales extends PreferenceActivity implements OnSharedPreferenceChangeListener{
	 ListPreference listaPaises;
	 ListPreference listaRegiones;
	 MultiSelectListPreference listaCategoriasComercio;
	 BaseDatos db;
	 @SuppressWarnings("deprecation")
	@Override
	    public void onCreate(Bundle savedInstanceState) {
	        super.onCreate(savedInstanceState);
	        addPreferencesFromResource(com.androidmodule.onthego.R.xml.layout_general_settings);
	        listaPaises = (ListPreference) findPreference("filtroPais");
	        listaRegiones= (ListPreference) findPreference("filtroProvincia");
	        listaCategoriasComercio  = (MultiSelectListPreference) findPreference("categoriaComercio");
	        PreferenceScreen pantallaComunes = (PreferenceScreen) findPreference("abrirNested");
	        Intent nested = new Intent(getApplicationContext(),ActivityPreferenciasGeneralesNested.class);
	        pantallaComunes.setIntent(nested);
	        
	        db = new BaseDatos(getApplicationContext());
	        listaPaises.setEntries(db.getPaises());
	        listaPaises.setEntryValues(db.getPaisesValues());
	        listaRegiones.setEntries(db.getRegiones(leerPreferencias.readFiltroPais(getApplicationContext())));
	        listaRegiones.setEntryValues(db.getRegionesValues(leerPreferencias.readFiltroPais(getApplicationContext())));
	        if(leerPreferencias.readCargarPaisesPreferences(getApplicationContext())){
	        listaPaises.setValue("13");
	        listaRegiones.setValue("-1");
	        leerPreferencias.writeCargarPaises(getApplicationContext(), false);
	        }
	        listaPaises.setSummary(listaPaises.getEntry());
	        listaRegiones.setSummary(listaRegiones.getEntry());
	    }

	 	@Override
	    protected void onResume() {
	        super.onResume();

	        // Registers a listener whenever a key changes            
	        getPreferenceScreen().getSharedPreferences().registerOnSharedPreferenceChangeListener(this);
	    }
	  
	    @Override
	    protected void onPause() {
	        super.onPause();
	       // Unregisters the listener set in onResume().
	       // It's best practice to unregister listeners when your app isn't using them to cut down on 
	       // unnecessary system overhead. You do this in onPause().            
	       getPreferenceScreen().getSharedPreferences().unregisterOnSharedPreferenceChangeListener(this);    
	    }    
	 public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {
		 if(key.equalsIgnoreCase("filtroPais")){
		    	listaPaises.setSummary(listaPaises.getEntry());
		    	listaRegiones.setEntries(db.getRegiones(leerPreferencias.readFiltroPais(getApplicationContext())));
		        listaRegiones.setEntryValues(db.getRegionesValues(leerPreferencias.readFiltroPais(getApplicationContext())));
		        listaRegiones.setValue("-1");
		        listaRegiones.setSummary(listaRegiones.getEntry());
		        
		    }
		    if(key.equals("filtroProvincia")){
		    	listaRegiones.setSummary(listaRegiones.getEntry());
		    	
		    }
		   
	 }
	 
	
}
